package com.smart.community.common.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.smart.community.common.base.result.ResultStatus;
import com.smart.community.common.common.qo.QueryConditionsQo;
import com.smart.community.common.common.qo.SysUserQo;
import com.smart.community.common.common.vo.SysUserVo;
import com.smart.community.common.entity.SysUser;

/**
 * @author : 子未语
 * @date : 2024/1/14 10:08
 */
public interface SysUserService {

    /**
     * 分页查询
     *
     * @param queryConditionsQo 查询条件
     * @param page              当前页
     * @param size              每页大小
     * @return 符合条件数据
     */
    IPage<SysUserVo> searchAll(QueryConditionsQo queryConditionsQo, int page, int size);

    /**
     * 查询单个数据
     *
     * @param id 根据id进行查询
     * @return 符合条件数据
     */
    SysUserVo querySingle(Integer id);

    /**
     * 添加用户数据
     *
     * @param addSysUserQo 用户数据
     * @return 添加成功与否
     */
    Boolean addSysUser(SysUserQo addSysUserQo);

    /**
     * 修改数据
     *
     * @param sysUserQo 需要进行修改的数据信息
     * @return 操作成功与否
     */
    Boolean modify(SysUserQo sysUserQo);


    /**
     *  进行假删除
     * @param id 根据id假删除
     * @return 操作成功与否
     */
    int del(Integer id);

    String login(String username, String password);

    SysUser getUserInfo(String username);

}
